package com.tvunetworks.center.device.service;

import com.tvunetworks.center.common.util.Result;
import com.tvunetworks.center.gs.model.Device;

import java.util.List;

/**
 * @program: tvucc-device
 * @description:
 * @author lebronchen
 * @create: 2019-03-19 14:17
 **/
public interface ExtService {
    /**
     * 增加Ext
     * @param device device
     * @return Result
     */
    Result<String> addExt(Device device);

    /**
     *
     * @param rid rid
     * @param extPeerId extPeerId
     * @return Result
     */
    Result<String> addExtToReceiver(String rid, String extPeerId);

    /**
     *
     * @param rid rid
     * @param extPeerId extPeerId
     * @param type type
     * @return Result
     */
    Result<String> addEventExtToReceiver(String rid, String extPeerId,String type);

    /**
     * 更新ext
     * @param device device
     * @return Result
     */
    Result<String> updateExt(Device device);

    /**
     *
     * @param peerId peerId
     * @return Result
     */
    Result<String> deleteExt(String peerId);

    /**
     *
     * @param peerId peerId
     * @return Result
     */
    Result<String> deleteGrid(String peerId);

    /**
     *
     * @param peerId peerId
     * @return List
     */
    List<String> listExtBindedRids(String peerId);

    /**
     *
     * @param peerId peerId
     * @param addRids addRids
     * @param removeRids removeRids
     */
    void correlateExtPairedR(String peerId, String addRids, String removeRids);

    /**
     *
     * @param rid rid
     * @param sourceId sourceId
     */
    void deleteRExt(String rid,String sourceId);


}
